package com.erp.erp_ui.warehouse.req;

import org.hibernate.validator.constraints.NotEmpty;

import javax.validation.Valid;
import java.io.Serializable;
import java.util.List;

/**
 * @ClassName : addTransferReq
 * @Description : 新增调拨入参实体
 * @Author : lst
 * @Date: 2020-08-03 11:57
 */
public class AddTransferReq implements Serializable {
    /**
     * 序列码
     */
    private static final long serialVersionUID = 2167964712063627649L;

    /**
     * 主键
     */
    private Integer id;

    /**
     * 调拨单号
     */
    @NotEmpty(message = "调拨单号不能为空")
    private String billNo;

    /**
     * 新调拨单号
     */
    private String newBillNo;

    /**
     * 调拨时间
     */
    private String time;

    /**
     * 调拨类型(1:合同调拨 2:合同置空)
     */
    private Integer type;

    /**
     * 仓库编码
     */
    private String warehouseCode;
    /**
     * 仓库名称
     */
    private String warehouseName;

    /**
     * 备注
     */
    private String memo;

    /**
     * 状态(1.草稿箱 2.待批箱 3.已批箱 4.完成箱 5.垃圾箱)
     */
    private Integer status;

    /**
     * 调拨明细集合
     */
    private List<AddTransferDetailReq> transferDetails;

    /**
     * 附件集合
     */
    private List<AnnexReq> annexReqs;


    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getBillNo() {
        return billNo;
    }

    public void setBillNo(String billNo) {
        this.billNo = billNo;
    }

    public String getNewBillNo() {
        return newBillNo;
    }

    public void setNewBillNo(String newBillNo) {
        this.newBillNo = newBillNo;
    }

    public String getTime() {
        return time;
    }

    public void setTime(String time) {
        this.time = time;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getWarehouseCode() {
        return warehouseCode;
    }

    public void setWarehouseCode(String warehouseCode) {
        this.warehouseCode = warehouseCode;
    }

    public String getWarehouseName() {
        return warehouseName;
    }

    public void setWarehouseName(String warehouseName) {
        this.warehouseName = warehouseName;
    }

    public String getMemo() {
        return memo;
    }

    public void setMemo(String memo) {
        this.memo = memo;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public List<AddTransferDetailReq> getTransferDetails() {
        return transferDetails;
    }

    public void setTransferDetails(List<AddTransferDetailReq> transferDetails) {
        this.transferDetails = transferDetails;
    }

    public List<AnnexReq> getAnnexReqs() {
        return annexReqs;
    }

    public void setAnnexReqs(List<AnnexReq> annexReqs) {
        this.annexReqs = annexReqs;
    }


    /**
     * 重写toString
     */
    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder("AddTransferReq").append('[')
                .append("id=")
                .append(id)
                .append(",billNo=")
                .append(billNo)
                .append(",newBillNo=")
                .append(newBillNo)
                .append(",time=")
                .append(time)
                .append(",type=")
                .append(type)
                .append(",warehouseCode=")
                .append(warehouseCode)
                .append(",warehouseName=")
                .append(warehouseName)
                .append(",memo=")
                .append(memo)
                .append(",status=")
                .append(status)
                .append(",transferDetails=")
                .append(transferDetails)
                .append(",annexReqs=")
                .append(annexReqs)
                .append(']');
        return sb.toString();
    }
}
